/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.beautycenter.DAO;

import br.com.beautycenter.bean.Cliente;
import br.com.beautycenter.bean.PacoteTratamento;
import br.com.beautycenter.bean.Tratamento;
import br.com.beautycenter.hibernateUtil.DaoBase;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Query;

/**
 *
 * @author Magelinha
 */
public class PersistePacoteTratamento extends DaoBase<PacoteTratamento> { 
    public List<PacoteTratamento> retornarPacotes(){
        try {
            return findAll();
        } catch (Exception ex) {
            return new ArrayList<PacoteTratamento>();
        }
    }
    
    public PacoteTratamento retornarPacotePeloID(PacoteTratamento pacote){
        return getEntityManager().find(PacoteTratamento.class, pacote.getIdPacote());
    }
    
    public List<PacoteTratamento> retornarPacotesPeloTipo(int tipo){
        Query query = getEntityManager().createQuery("From PacoteTratamento pt WHERE pt.tipoPacote=:tipo");
        query.setParameter("tipo", tipo);
        
        try{
            return query.getResultList();
        }catch(Exception ex){
            return new ArrayList<PacoteTratamento>();
        }
    }
    
    public List<PacoteTratamento> retornarPacotesPeloTipoCliente(int tipo, Cliente cliente){
        Query query = getEntityManager().createQuery("From PacoteTratamento pt WHERE pt.tipoPacote=:tipo "
                + "AND pt.cliente.idPessoa=:id");
        query.setParameter("tipo", tipo);
        query.setParameter("id", cliente.getIdPessoa());
        
        try{
            return query.getResultList();
        }catch(Exception ex){
            return new ArrayList<PacoteTratamento>();
        }
    }
    
    public void salvar(PacoteTratamento pacote){
        save(pacote);
    }
    public void deletar(PacoteTratamento pacote){
        try{
            delete(pacote);
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }
    
    public void atualizar(PacoteTratamento pacote){
        update(pacote);
    }
}



